RDS Multi-AZ 설정 시 Requesting a specific availability zone is not valid for Multi-AZ instances 에러 해결
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 RDS에서 Multi-AZ 설정 시 Requesting a specific availability zone is not valid for Multi-AZ instances 에러를 해결하는 방법에 대해서 정리해 봤습니다.
에러 발생
Requesting a specific availability zone is not valid for Multi-AZ instances
CloudFormation으로 RDS를 생성했더니 다음과 같은 에러 메시지가 표시되었습니다.
에러 해결
RDS를 생성할 때, AvailabilityZone을 선택하게 되는데, Multi-AZ를 설정할 경우 여기서 에러가 발생하게 됩니다.
AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment
AWS 문서를 살펴보면, Multi-AZ를 설정할 때 AvailabilityZone 매개 변수를 지정할 수 없다고 나와있습니다.
# ------------------------------------------------------------# # Create RDS # ------------------------------------------------------------# Resources: RDSDBInstance: Type: "AWS::RDS::DBInstance" Properties: DBInstanceIdentifier: !Sub ${SystemName}-${EnvName}-rds DBName: "xxxxxxxxx" DBInstanceClass: !Ref DBInstanceClass Engine: postgres MultiAZ: true EngineVersion: 14.6 Port: 5432 AutoMinorVersionUpgrade: false PubliclyAccessible: false DeletionProtection: true AvailabilityZone: Fn::Select: - 0 - Fn::GetAZs: ""
실제 에러가 발생했던 CloudFormation 코드를 확인해 보면, AvailabilityZone를 통해 AZ를 설정하고 있는 것을 확인할 수 있습니다.
※ AvailabilityZone의 경우 Single-AZ 구성의 경우에만 설정할 수 있습니다.
AvailabilityZone: Fn::Select: - 0 - Fn::GetAZs: ""
따라서 문제가 되는 AvailabilityZone 항목을 제거한다면 문제 없이 Multi-AZ가 설정된 RDS를 생성할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.